home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / util / misc / Fudgit233.lha / Source / docs / latex2help.l (.txt) < prev    next >
Encoding:
LaTeX Document  |  1993-12-14  |  2.8 KB  |  88 lines

  1. /* This is a character translator used to 
  2.  * translate doc to help file
  3.  int inbq = 0;
  4.  int init = 0;
  5.  int intt = 0;
  6.  int inverb = 0;
  7. \\\\            {  fputc('\n', yyout); if (inbq) fputs("     ", yyout); }
  8. \\\\\n            {  fputc('\n', yyout); if (inbq) fputs("     ", yyout); }
  9. \n                { fputc('\n', yyout); }
  10. [ ]*\\bq[ \n]*    { inbq = 1; fputs("     ", yyout); }
  11. [ ]*\\eq[ ]*    { inbq = 0; }
  12. [{]\\it[ ]*\n[ ]*     { init = 1; fputs("\n ", yyout); fputc('"', yyout); }
  13. [{]\\tt[ ]*\n[ ]*   { intt = 1; fputs("\n ", yyout); fputc('`', yyout); }
  14. [{]\\it[ ]*     { init = 1; fputc('"', yyout); }
  15. [{]\\tt[ ]*        { intt = 1; fputc('`', yyout); }
  16. [}]                { if (init) {
  17.                     fputc('"', yyout);
  18.                     init = 0;
  19.                   } else if (intt) {
  20.                     fputc('\'', yyout);
  21.                     intt = 0;
  22.                   }
  23.                   else if (inverb) {
  24.                     fputc('}', yyout);
  25.                   }
  26.                   ;
  27.                 }
  28. [ ]*\\Seealso         { fprintf(yyout, " See also:"); }
  29. [ ]*\\Examples         { fprintf(yyout, " Examples:"); }
  30. [ ]*\\Example         { fprintf(yyout, " Example:"); }
  31. [ ]*\\Syntax         { fprintf(yyout, " Syntax:"); }
  32. \\optio         { fprintf(yyout, "(optional)"); }
  33. \\times         { fprintf(yyout, "X"); }
  34. \\fudgit[\\]?         { fprintf(yyout, "FUDGIT"); }
  35. \\gnuplot[\\]?         { fprintf(yyout, "GNUPLOT"); }
  36. \\sgiplot[\\]?         { fprintf(yyout, "SGIPLOT"); }
  37. \\readline[\\]?     { fprintf(yyout, "READLINE"); }
  38. \\unix[\\]?         { fprintf(yyout, "UNiX"); }
  39. \\hoc[\\]?         { fprintf(yyout, "HOC"); }
  40. \\emacs[\\]?         { fprintf(yyout, "EMACS"); }
  41. [ ]*[$]\\bullet[$]    { fprintf(yyout, "   => "); }
  42. [$]\\backslash[$]     { fputc('\\', yyout); }
  43. \\verb[+]\\[+]    { fputc('\\', yyout); }
  44. \\verb[+]\\t[+]    { fputs("\\t", yyout); }
  45. \\verb[+]\\n[+]    { fputs("\\n", yyout); }
  46. \\verb[+]\\a[+]    { fputs("\\a", yyout); }
  47. \\[%]                { fputc('%', yyout); }
  48. \\[$]                { fputc('$', yyout); }
  49. \\[&]                { fputc('&', yyout); }
  50. \\[#]                { fputc('#', yyout); }
  51. \\[^][{][ ][}]  { fputc('^', yyout); }
  52. \\_                { fputc('_', yyout); }
  53. \\[}]            { fputc('}', yyout); }
  54. \\dash                { fputc('-', yyout); }
  55. \\[{]            { fputc('{', yyout); }
  56. \\ldots            { fputs("...", yyout); }
  57. \\                { ; }
  58. [{]                { if (inverb) fputc('{', yyout); }
  59. [$]                { if (inverb) fputc('$', yyout); }
  60. \\nopagebreak\\begin[{]verbatim[}][ ]*\n    { inverb = 1;}
  61. \\end[{]verbatim[}][ ]*\n     { inverb = 0; }
  62. [a-zA-Z0-9*%@#!&()]*         { fprintf(yyout, "%s", yytext); }
  63. extern FILE *yyin, *yyout;
  64. main(argc, argv)
  65. int argc;
  66. char **argv;
  67.     FILE *fp;
  68.     if (argc < 1 && 3 < argc) {
  69.         fprintf(stderr, "Usage: %s infile [outfile]\n", argv[0]);
  70.         exit(1);
  71.     switch (argc) {
  72.         case 3:
  73.         fclose(stdout);
  74.         if ((yyout = fopen (argv[2], "w")) == NULL) {
  75.             fprintf(stderr, "%s: Permission denied.\n", argv[0]);
  76.             exit(1);
  77.         case 2:
  78.         fclose(stdin);
  79.         if ((yyin = fopen (argv[1], "r")) == NULL) {
  80.             fprintf(stderr, "%s: file not found\n", argv[0]);
  81.             exit(1);
  82.         break;
  83.         case 1:
  84.         /* filter mode  */
  85.         break;
  86.     yylex();
  87.     exit(0);
  88.